A conventional code generator is a software tool that automatically writes source code and provides an alternative to manual coding that can be faster and less prone to typographical errors or other human errors. These code generators can improve productivity by automatically generating source code that otherwise would need to be manually written by a human.
However, conventional code generators are designed for software designers and engineers with extensive knowledge of software programming. Inputs into these software tools are often Unified Modeling Language (“UML”) diagrams, flow charts, source code templates, or other vehicles software designers or engineers use to specify software design. These design diagrams and source codes specify the structure of the classes, data, methods, etc. of the software to be generated, and how these elements interact. Accordingly, software designers or engineers must have already determined the design of the code before taking advantage of the code generator's capability to translate the design into source code.
These conventional code generators generate source in a target language, such as Java, C++, or C#, which must then be compiled. Typically, the generated source code is one small piece of a larger application, consisting of many other source code files that had to be hand-written by programmers. Some code generators can generate code and just-in-time compile it at run-time. But even in these cases, the input is typically designed and/or written by a software engineer.